///*******************************************************************************
// * Copyright (c) 2004, 2006 IBM Corporation and others.
// * All rights reserved. This program and the accompanying materials
// * are made available under the terms of the Eclipse Public License v1.0
// * which accompanies this distribution, and is available at
// * http://www.eclipse.org/legal/epl-v10.html
// *
// * Contributors:
// *     IBM Corporation - initial API and implementation
// *******************************************************************************/
//package org.eclipse.ui.tests.commands;
//
//import org.eclipse.swt.SWT;
//import org.eclipse.swt.events.SelectionAdapter;
//import org.eclipse.swt.events.SelectionEvent;
//import org.eclipse.swt.layout.GridData;
//import org.eclipse.swt.layout.GridLayout;
//import org.eclipse.swt.widgets.Display;
//import org.eclipse.swt.widgets.Shell;
//import org.eclipse.swt.widgets.Text;
//import org.eclipse.ui.commands.ExecutionException;
//import org.eclipse.ui.commands.ICommand;
//import org.eclipse.ui.commands.IWorkbenchCommandSupport;
//import org.eclipse.ui.commands.NotHandledException;
//import org.eclipse.ui.tests.harness.util.UITestCase;
//
///**
// * A test for whether the select all handler will send a selection event.
// * 
// * @since 3.1
// */
//public final class Bug74982Test extends UITestCase {
//
//    /**
//     * Whether the selection event has been fired.
//     */
//    private boolean selectionEventFired = false;
//
//    /**
//     * Constructs a new instance of <code>Bug74982Test</code>.
//     * 
//     * @param name
//     *            The name of the test
//     */
//    public Bug74982Test(final String name) {
//        super(name);
//    }
//
//    /**
//     * Tests that the <code>SelectAllHandler</code> triggers a selection
//     * event. Creates a dialog with a text widget, gives the text widget focus,
//     * and then calls the select all command. This should then call the
//     * <code>SelectAllHandler</code> and trigger a selection event.
//     * 
//     * @throws ExecutionException
//     *             If the <code>SelectAllHandler</code> is broken in some way.
//     * @throws NotHandledException
//     *             If the dialog does not have focus, or if the
//     *             <code>WorkbenchCommandSupport</code> class is broken in
//     *             some way.
//     */
//    public final void testSelectAllHandlerSendsSelectionEvent()
//            throws ExecutionException, NotHandledException {
//        // Create a dialog with a text widget.
//        final Shell dialog = new Shell(fWorkbench.getActiveWorkbenchWindow()
//                .getShell());
//        dialog.setLayout(new GridLayout());
//        final Text text = new Text(dialog, SWT.SINGLE);
//        text.setText("Mooooooooooooooooooooooooooooo");
//        text.setLayoutData(new GridData());
//        text.addSelectionListener(new SelectionAdapter() {
//            public void widgetSelected(SelectionEvent e) {
//                selectionEventFired = true;
//            }
//        });
//
//        // Open the dialog and give the text widget focus.
//        dialog.pack();
//        dialog.open();
//        text.setFocus();
//
//        // Spin the event loop to make sure focus is set-up properly.
//        final Display display = fWorkbench.getDisplay();
//        while (display.readAndDispatch()) {
//        	// Do nothing
//        }
//
//        // Get the select all command and execute it.
//        final IWorkbenchCommandSupport commandSupport = fWorkbench
//                .getCommandSupport();
//        final ICommand selectAllCommand = commandSupport.getCommandManager()
//                .getCommand("org.eclipse.ui.edit.selectAll");
//        selectAllCommand.execute(null);
//
//        // Check to see if the selection event has been fired.
//        assertTrue(
//                "The selection event was not fired when the SelectAllHandler was used.",
//                selectionEventFired);
//    }
//}
